package cn.sinata.wanglin.net.model.util;

import com.google.gson.JsonObject;

/**
 * 解析Gson提供JsonObject工具类
 * Created by liaoxiang on 16/7/22.
 */
public class JsonUtils {
    JsonObject json;
    public JsonUtils(JsonObject jsonObject){
        this.json = jsonObject;
    }

    public String optString(String key){
        return optString(key,"");
    }

    public String optString(String key, String def){
        if (json.has(key)){
            if (json.get(key).isJsonNull()){
                return def;
            }
            return json.get(key).getAsString();
        }
        return def;
    }

    public double optDouble(String key){
        return optDouble(key,0);
    }

    public double optDouble(String key, double def){
        if (json.has(key)){
            if (json.get(key).isJsonNull()){
                return def;
            }
            return json.get(key).getAsDouble();
        }
        return def;
    }

    public float optFloat(String key){
        return optFloat(key,0);
    }

    public float optFloat(String key, float def){
        if (json.has(key)){
            if (json.get(key).isJsonNull()){
                return def;
            }
            return json.get(key).getAsFloat();
        }
        return def;
    }

    public int optInt(String key){
        return optInt(key,0);
    }

    public int optInt(String key, int def){
        if (json.has(key)){
            if (json.get(key).isJsonNull()){
                return def;
            }
            return json.get(key).getAsInt();
        }
        return def;
    }
}
